<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        // 按位非（Not)
        let num1 = 25;//25
        let num2 = ~num1;//-26

        console.log("num1 二进制表示： " + num1.toString(2))//11001
        console.log("num2 二进制表示： " + num2.toString(2))//-11010
        console.log("num1: " + num1);
        console.log("num2: " + num2);

        /**
         * 按位操作符的本质就是操作数的负值减一，虽然这样可以达到同样的效果，但是按位非操作符效率更高，因为位操作符直接进行的是最底层的操作
         */
        let num3 = -num1 - 1;
        console.log("num3: " + num3);
        console.log("num3 二进制表示：" + num3.toString(2));



    </script>
</head>
<body>

</body>
</html>